package mtgGameObjects.mtgGameTypes.mtgGameCardTypes.mtgGameContextTypes;

import mtgGameObjects.mtgGameStates.mtgGamePermanentStates.MtgGamePermanentState;
import mtgGameObjects.mtgGameStates.mtgGamePermanentStates.MtgGamePermanentStateDownFaced;
import mtgGameObjects.mtgGameStates.mtgGamePermanentStates.MtgGamePermanentStateFlipped;
import mtgGameObjects.mtgGameStates.mtgGamePermanentStates.MtgGamePermanentStatePhasedIn;
import mtgGameObjects.mtgGameStates.mtgGamePermanentStates.MtgGamePermanentStatePhasedOut;
import mtgGameObjects.mtgGameStates.mtgGamePermanentStates.MtgGamePermanentStateTapped;
import mtgGameObjects.mtgGameStates.mtgGamePermanentStates.MtgGamePermanentStateUnflipped;
import mtgGameObjects.mtgGameStates.mtgGamePermanentStates.MtgGamePermanentStateUntapped;
import mtgGameObjects.mtgGameStates.mtgGamePermanentStates.MtgGamePermanentStateUpFaced;

public class MtgGameCardContextTypePermanent implements MtgGameCardContextTypes {
	
	private MtgGamePermanentState tappedState;
	private MtgGamePermanentState flippedState;
	private MtgGamePermanentState upFacedState;
	private MtgGamePermanentState phasedState;
	
	public void actionTap(){
		this.tappedState = MtgGamePermanentStateTapped.getState();
	}
	
	public void actionUntap(){
		this.tappedState = MtgGamePermanentStateUntapped.getState();
	}

	public void actionFlip(){
		this.flippedState = MtgGamePermanentStateFlipped.getState();
	}
	
	public void actionUnflip() {
		this.flippedState = MtgGamePermanentStateUnflipped.getState();
		
	}
	
	public void actionFaceUp() {
		this.upFacedState = MtgGamePermanentStateUpFaced.getState();
	}

	public void actionFaceDown() {
		this.upFacedState = MtgGamePermanentStateDownFaced.getState();		
	}

	public void actionPhaseOut() {
		this.phasedState = MtgGamePermanentStatePhasedOut.getState();
	}

	public void actionPhaseIn() {
		this.phasedState = MtgGamePermanentStatePhasedIn.getState();
	}

	public MtgGamePermanentState getTappedState() {
		return tappedState;
	}

	public void setTappedState(MtgGamePermanentState tappedState) {
		this.tappedState = tappedState;
	}

	public MtgGamePermanentState getFlippedState() {
		return flippedState;
	}

	public void setFlippedState(MtgGamePermanentState flippedState) {
		this.flippedState = flippedState;
	}

	public MtgGamePermanentState getUpFacedState() {
		return upFacedState;
	}

	public void setUpFacedState(MtgGamePermanentState upFacedState) {
		this.upFacedState = upFacedState;
	}

	public MtgGamePermanentState getPhasedState() {
		return phasedState;
	}

	public void setPhasedState(MtgGamePermanentState phasedState) {
		this.phasedState = phasedState;
	}

}
